#coding=utf-8  
class Person:
    personID = "10001"
    def __init__(self):
        print("Person构造")
        
    def show(self):                                     #空方法
        pass


class User(Person):                                     #继承
    name = "user"					#类属性(相当于static属性)
    age = 0
    __tel = "13570907717"				#私有类属性
    def __init__(self, username, userage, usersex):	#构造
        self.name = username				#此处的实例属性其实是name属性的同名拷贝
        self.age = userage				#此处的实例属性其实是age属性的同名拷贝
        self.sex = usersex				#方法内可以创建实例属性
        
    def __del__(self):					#析构
        print("析构了")
        
    def __playPhone(self):				#私有方法
        print("只有我知道我在玩手机")
        
    def study(self):					#公共方法
        print("学习了")
        self.__playPhone()

    def show(self):                                     #重写方法
        print("I am User")
        
    @classmethod
    def setTel(cls, telephone):                         #类方法一般用来当做类属性的getter setter
        cls.__tel = telephone

    @staticmethod                                       #静态方法允许无参, 只能用类来引用
    def createUser():
        return User("default", 0, "male")
        
user1 = User("shuoGG", 22, "male")
user1.study()
user1.show()
user1.setTel("135277777")
print(user1.personID)
del user1
user2 = User.createUser()


